SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 56717: A "java.lang.ClassNotFoundException..." error might occur when you log on to SAS® Merchandise Planning and then access SAS® Merchandise Allocation

DetailsAboutRate It

An exception similar to the following might occur when you log on to SAS Merchandise Planning and then access SAS Merchandise Allocation:

1475096 ERROR [Tribes-Task-Receiver-3]
org.apache.catalina.ha.session.DeltaManager     - Manager [localhost#]: Unable
to receive message through TCP channel
java.lang.ClassNotFoundException:
com.sas.retail.merchplan.util.MMAXSessionCleanup
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:266)
        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:623)
        at
org.apache.catalina.tribes.io.ReplicationStream.resolveClass(ReplicationStream.j
ava:77)
...

When you exit SAS Merchandise Allocation and return to SAS Merchandise Planning, an exception similar to the following might occur:

110765 ERROR [Tribes-Task-Receiver-1]
org.apache.catalina.ha.session.DeltaManager     - Manager [localhost#]: Unable
to receive message through TCP channel
java.lang.ClassNotFoundException:
com.sas.retail.merchplan.framework.coe.server.sessionstate.ModuleSessionBeanFact
ory
                at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
                at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
                at java.security.AccessController.doPrivileged(Native Method)
                at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
                at java.lang.Class.forName0(Native Method)
                at java.lang.Class.forName(Class.java:266)
                at
java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:623)
...

As a workaround for these exceptions, you can alter the server.xml and context.xml configuration files as indicated below:

Server.xml Changes:

  1. Remove the following from the cluster definition:
    • <Manager className="org.apache.catalina.ha.session.DeltaManager"/>
  2. Add the "channelSendOptions" attribute to the cluster element as indicated below:
    • Before the change: <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
    • After the change: <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">

Context.xml Changes:

  1. Add the following:
    • <Manager className="org.apache.catalina.ha.session.DeltaManager" notifyListenersOnReplication="true" />

For SAS Merchandise Planning only customers, please reference 56943, " A "java.lang.ClassNotFoundException..." error might occur when you log on to SAS® Merchandise Planning".



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Merchandise AllocationMicrosoft Windows Server 2008 R23.5_M13.5_M19.4 TS1M39.4 TS1M2
Microsoft Windows Server 2012 R2 Std3.5_M13.5_M19.4 TS1M39.4 TS1M2
64-bit Enabled AIX3.5_M13.5_M19.4 TS1M39.4 TS1M2
Linux for x643.5_M13.5_M19.4 TS1M39.4 TS1M2
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.